'''
题目描述
开发一个简单错误记录功能小模块，能够记录出错的代码所在的文件名称和行号。
 
处理：  
1、 记录最多8条错误记录，循环记录，对相同的错误记录（净文件名称和行号完全匹配）只记录一条，错误计数增加；
2、 超过16个字符的文件名称，只记录文件的最后有效16个字符； 
3、 输入的文件可能带路径，记录文件名称不能带路径。

输入描述:
一行或多行字符串。每行包括带路径文件名称，行号，以空格隔开。

输出描述:
将所有的记录统计并将结果输出，格式：文件名 代码行数 数目，一个空格隔开，如：

示例1 
输入
E:\V1R2\product\fpgadrive.c   1325

输出
fpgadrive.c 1325 1

'''

import sys
d={}
name=[]
while True:
    try:
        v=input().split(' ')#将输入的路径文件名和代码行号以空格划分
        a = v[0].split('\\')[-1]#按照\\进行划分，并取列表的最后一个元素，即文件名
        if len(a)>=16:#如果文件名的长度大于16个字符
            a=a[-16:]#就取文件的最后有效16字符
        else:
            pass
        v1 = a + ' ' + v[-1]#v[-1]记录代码行号，
        if v1 not in d.keys():
            name.append(v1)#记录，错误的记录
            d[v1]=1
        else:
            d[v1]+=1
    except:
        break
for item in name[-8:]:#错误记录超过8条时，只取后8条
    sys.stdout.write(item+' '+str(d[item])+'\n')
#当我们使用print(obj)在console上打印对象的时候，实质上调用的是sys.stdout.write(obj+'\n')，print在打印时会自动加个换行符
